复盘：

1.用户的登陆实现
关键字：Token
UUID.randomUUID()创建一个不重复的一串数字组合成的id
session/会话控制可以用户存储数据
cookie是一个文本文件

2.控制权限 路由导航守卫
-----------------------------------------------------------
3.系统首页的跳转
编辑Mapper----Service-----Controller 层级代码 方便后续业务调用
1.Mapper层---
  创建RightsMapper
  2.Service层--
    2.1创建接口RightsService
    2.2和RightsServiceImpl实现接口
 3.Controller层--
 3.1创建RightsController类

-----------------------------------------------------------
@Override
    public List<Rights> getAll() {
        //查询全部不需要条件
        return rightsMapper.selectList(null);
        //查询rightsMapper中的查询语句
    }


    /**
     * 查询二级菜单信息
     * 1.查询一级菜单 parent_id=0
     * 2.查询二级           id=1
     */
    @Override
    public List<Rights> getRightsList() {
        //1.查询所有的一级菜单<Rights>
        //查询包装器QueryWrapper映射
        QueryWrapper queryWrapper = new QueryWrapper<>();
        //查询eq等于"parent_id",0 一级菜单
        queryWrapper.eq("parent_id", 0);
        //rightsMapper查询语句
        List<Rights> oneList = rightsMapper.selectList(queryWrapper);


        /**高效for循环
         * 第一个是类型 Rights
         * 第二个是你定义的名字 oneRights
         * 第三个是集合名字 oneList
         * */
        //先拿到一级菜单查询自己的二级菜单
        for (Rights oneRights : oneList) {
            //清空原来有条件
            queryWrapper.clear();
            //根据一级菜单的id查
            // eq等于parent_id二级oneRights查询的是Id的查询功能
            queryWrapper.eq("parent_id", oneRights.getId());
            //封装进一级菜单
            List<Rights>twoList=rightsMapper.selectList(queryWrapper);
            //实现父子关系进行封装
            //    private List<Rights> children;
            oneRights.setChildren(twoList);
        }

        //在执行完2级查询后返回1级中
        return oneList;
        ------------------------------------、

4.左测菜单的实现
import Home from "../components/Home.vue";
import user from "../components/user/user.vue";
import Item from "../components/items/Item.vue";

//使用路由机制
// 通过children[] 实现路由嵌套实现功能
 path: '/home', component: Home, children: [
      {path: '/user', component: user},
      {path: '/Item', component: Item}
------------------------------------
8.6
封装PageResult

    /**
     * 分页查询一页20条结果 0,20
     * sql select * from user limit 起始位置，每页条数
     * 第一页
     * select *from user limit 0,20
     * 第二页
     * select *from user limit 20,20
     * 第三页
     * *    select *from user limit 40,20
     * <p>
     * 第N页 select *form  user limit
     */
     ------------------------------------

        ------------------------------------
jt/src/main/java/com/jt/controller/UserController.java
jt/src/main/java/com/jt/mapper/UserMapper.java
jt/src/main/java/com/jt/service/UserServiceImpl.java

1.UserController
//通过业务处理 获取总数/分页后的结果
        pageResult = userService.getUserList(pageResult);
        return SysResult.success(pageResult); //5个

2.UserMapper
采用查询语句进行页面的查询
/**
     *  如果Sql语句比较简单,可以通过直接注解开发.
     *     @Select("Sql!!!!!")
     *     @Insert("sql")
     *     @Update("sql")
     *     @Delete("sql")
     * @param start
     * @param size
     * @return
     */
    @Select("select * from user limit #{start},#{size}")
    List<User> findUserListByPage(Integer start, Integer size);

  3.  UserServiceImpl
  进行前端的输出页面查询的操作
  @Override
      public PageResult getUserList(PageResult pageResult) {
          //根据参数动态的执行分页查询!!!!
          return null;
          int start = (pageResult.getPageNum()-1) * pageResult.getPageSize();
          int size = pageResult.getPageSize();
          List<User> userList = userMapper.findUserListByPage(start,size);
          //获取全部记录的总数  利用java 自动拆装箱的规范
          long total = userMapper.selectCount(null);

          return pageResult.setTotal(total).setRows(userList);
      }动态获取进行分页


1.手写sql进行分页
2.
3.作用域插槽
4.用户新增

      ///需求开发文档